package com.smartwebx.ha.biz.rainwater.real;

import java.text.ParseException;
import java.util.Date;
import java.util.List;

import com.smartwebx.ha.dal.usebean.DateValue;
import com.smartwebx.ha.dal.usebean.RsvrFlood;
import com.smartwebx.ha.dal.usebean.WaterYearComp;
import com.smartwebx.ha.dal.usebean.view.ViewDayProcessAnalysis;

/**
 * 水库
 * 
 * @author zhangxi
 * 
 */
public interface RsvrManager {

	/**
	 * 获得单站水库日过程水位数据（取每日8时数据）
	 * 
	 * @param stcd
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	public List<DateValue> getSingleStatWaterDayProcess(String stcd,
			Date startDate, Date endDate);

	/**
	 * 获得小时时段
	 * 
	 * @param stcd
	 * @param startHour
	 * @param endHour
	 * @return
	 */
	public List<DateValue> getSingleStatWaterHourProcess(String stcd,
			Date startHour, Date endHour);

	/**
	 * 获得纯粹的单站水库水位过程
	 * 
	 * @param stcd
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	public List<DateValue> getPurenessWaterProcesss(String stcd,
			Date startDate, Date endDate);

	/**
	 * 水位多年历史比较排位
	 * 
	 * @param stcd
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	public WaterYearComp getMoreYearWaterCompSotr(String stcd, Date startDate,
			Date endDate);

	/**
	 * 获得单站水库日流量过程（取每日8时数据）
	 * 
	 * @param stcd
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	public List<DateValue> getSingleStatFlowDayProcess(String stcd,
			Date startDate, Date endDate);

	/**
	 * 单站水库小时流量过程
	 * 
	 * @param stcd
	 * @param startHour
	 * @param endHour
	 * @return
	 */
	public List<DateValue> getSingleStatFlowHourProcess(String stcd,
			Date startHour, Date endHour);

	/**
	 * 获得纯粹的单站水库流量过程
	 * 
	 * @param stcd
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	public List<DateValue> getPurenessFlowProcesss(String stcd, Date startDate,
			Date endDate);

	/**
	 * 流量多年历史比较排位
	 * 
	 * @param stcd
	 * @param startHour
	 * @param endHour
	 * @return
	 */
	public WaterYearComp getMoreYearFlowCompSotr(String stcd, Date startHour,
			Date endHour);
	
	/**
	 * 水库日过程特征分析
	 * @param stcd
	 * @param bTm
	 * @param eTm
	 * @return
	 * @throws ParseException
	 */
	public ViewDayProcessAnalysis getDayProcessAnalysis(String stcd, Date bTm,
			Date eTm);
	
	public RsvrFlood getRsvrFlood(String stcd);

}
